package com.blueocean_health.care.management.domain.dto;

import java.util.Date;

import com.blueocean_health.care.management.common.base.em.TimeType;
import com.blueocean_health.care.management.common.base.string.StringUtils;
import com.blueocean_health.care.management.common.base.time.TimeUtils;
import com.blueocean_health.care.management.common.excel.ExcelResources;
import com.blueocean_health.care.management.em.EducationEnum;
import com.blueocean_health.care.management.em.ProvinceEnum;
import com.blueocean_health.care.management.em.ResidenceEnum;
import com.blueocean_health.care.management.em.SexEnum;
import com.blueocean_health.care.management.em.WorkStatusEnum2;

/**
* @author huyanqiu
* @version 2017年8月22日 下午6:25:07
* 护工列表
*/

/**
 *
 *
 * @Title: NurseWorkerInfoResponseDto.java
 * @Package com.blueocean_health.care.management.domain.dto
 * @author luxue
 * @date 2018年8月2日
 * @version V1.0
 */
public class NurseWorkerInfoResponseDto {
	private Integer id;
	private String workerId;
	private String workerName;
	private String sex;
	private String sexName;
	private Integer age;
	private String province;
	private String provinceName;
	private String phone;
	private Integer workCount;
	private String workStatus;
	private String workStatusName;
	private String equipmentNames;
	/**
	 * 紧急联系人
	 */
	private String contact;
	/**
	 * 联系人电话
	 */
	private String contactPhone;

	/**
	 * 文化程度
	 */
	private String education;
	private String educationName;

	/**
	 * 身份证号
	 */
	private String idCard;
	/**
	 * 户口性质
	 */
	private String residence;
	private String residenceName;
	/**
	 * 户口所在地
	 */
	private String nativePlace;
	private String nativePlaceName;

	/**
	 * 入职日期
	 */
	private Date hireDate;
	/**
	 * 离职日期
	 */
	private Date leaveDate;

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	@ExcelResources(title = "护工编号", order = 1)
	public String getWorkerId() {
		return workerId;
	}

	public void setWorkerId(String workerId) {
		this.workerId = workerId;
	}

	@ExcelResources(title = "姓名", order = 2)
	public String getWorkerName() {
		return workerName;
	}

	public void setWorkerName(String workerName) {
		this.workerName = workerName;
	}

	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
		if (!StringUtils.isEmpty(sex))
			this.setSexName(SexEnum.valueOf("_" + sex).getVal());
	}

	@ExcelResources(title = "性别", order = 3)
	public String getSexName() {
		return sexName;
	}

	public void setSexName(String sexName) {
		this.sexName = sexName;
	}

	@ExcelResources(title = "年龄", order = 4)
	public Integer getAge() {
		return age;
	}

	public void setAge(Integer age) {
		this.age = age;
	}

	public String getProvince() {
		return province;
	}

	public void setProvince(String province) {
		this.province = province;
		if (!StringUtils.isEmpty(province))
			this.setProvinceName(ProvinceEnum.valueOf("_" + province).getVal());
	}

	public String getProvinceName() {
		return provinceName;
	}

	public void setProvinceName(String provinceName) {
		this.provinceName = provinceName;
	}

	@ExcelResources(title = "手机号", order = 5)
	public String getPhone() {
		return phone;
	}

	public void setPhone(String phone) {
		this.phone = phone;
	}

	@ExcelResources(title = "紧急联系人", order = 6)
	public String getContact() {
		return contact;
	}

	public void setContact(String contact) {
		this.contact = contact;
	}

	@ExcelResources(title = "联系人电话", order = 7)
	public String getContactPhone() {
		return contactPhone;
	}

	public void setContactPhone(String contactPhone) {
		this.contactPhone = contactPhone;
	}

	public Integer getWorkCount() {
		return workCount;
	}

	public void setWorkCount(Integer workCount) {
		this.workCount = workCount;
	}

	public String getWorkStatus() {
		return workStatus;
	}

	public void setWorkStatus(String workStatus) {
		this.workStatus = workStatus;
		if (!StringUtils.isEmpty(workStatus))
			this.setWorkStatusName(WorkStatusEnum2.valueOf("_" + workStatus).getVal());
	}

	public String getWorkStatusName() {
		return workStatusName;
	}

	public void setWorkStatusName(String workStatusName) {
		this.workStatusName = workStatusName;
	}

	public String getEquipmentNames() {
		return equipmentNames;
	}

	public void setEquipmentNames(String equipmentNames) {
		this.equipmentNames = equipmentNames;
	}

	public String getEducation() {
		return education;
	}

	public void setEducation(String education) {
		this.education = education;
		if (!StringUtils.isEmpty(education))
			this.setEducationName(EducationEnum.valueOf("_" + education).getVal());
	}

	@ExcelResources(title = "文化程度", order = 8)
	public String getEducationName() {
		return educationName;
	}

	public void setEducationName(String educationName) {
		this.educationName = educationName;
	}

	@ExcelResources(title = "身份证号", order = 9)
	public String getIdCard() {
		return idCard;
	}

	public void setIdCard(String idCard) {
		this.idCard = idCard;
	}
	
	public String getResidence() {
		return residence;
	}

	public void setResidence(String residence) {
		this.residence = residence;
		if (!StringUtils.isEmpty(residence))
			this.setResidenceName(ResidenceEnum.valueOf("_" + residence).getVal());
	}

	@ExcelResources(title = "户口性质", order = 10)
	public String getResidenceName() {
		return residenceName;
	}

	public void setResidenceName(String residenceName) {
		this.residenceName = residenceName;
	}

	public String getNativePlace() {
		return nativePlace;
	}

	public void setNativePlace(String nativePlace) {
		this.nativePlace = nativePlace;
		if (!StringUtils.isEmpty(nativePlace))
			this.setNativePlaceName(ProvinceEnum.valueOf("_" + nativePlace).getVal());
	}

	@ExcelResources(title = "户口所在地", order = 11)
	public String getNativePlaceName() {
		return nativePlaceName;
	}

	public void setNativePlaceName(String nativePlaceName) {
		this.nativePlaceName = nativePlaceName;
	}

	@ExcelResources(title = "入职日期", order = 12)
	public String getHireDate() {
		if (StringUtils.isEmpty(hireDate)) {
			return null;
		}
		String hireDateStr = TimeUtils.getStringByDate(hireDate, TimeType.yyyy_MM_dd);

		return hireDateStr;
	}

	public void setHireDate(Date hireDate) {
		this.hireDate = hireDate;
	}

	@ExcelResources(title = "离职日期", order = 13)
	public String getLeaveDate() {
		if (StringUtils.isEmpty(leaveDate)) {
			return null;
		}
		String leaveDateStr = TimeUtils.getStringByDate(leaveDate, TimeType.yyyy_MM_dd);
		return leaveDateStr;
	}

	public void setLeaveDate(Date leaveDate) {
		this.leaveDate = leaveDate;
	}

}
